package web.suzy.oj.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import web.suzy.oj.pojo.entity.judge.Judge;
import web.suzy.oj.pojo.vo.ProblemCountVO;

import java.util.List;

/**
 * YangSuzy 软件工作室
 * 类名: JudgeMapper
 * 描述: ---- 待定 -----
 * 功能: ---- 待定 -----
 * ==========未完成==============
 *
 * @author YangSuzy
 * Date: 2022/11/20 15:07
 */
@Mapper
@Repository
public interface JudgeMapper extends BaseMapper<Judge> {
    /**
     * 方法名: getProblemCount
     * 描述: 获取单个题目评测统计
     *
     * @param pid 题目ID
     * @return web.suzy.oj.pojo.vo.ProblemCountVO
     * @date 2022/11/20 15:08
     * @auther YangSuzy
     **/
    ProblemCountVO getProblemCount(@Param("pid") Long pid);

    /**
     * 方法名: getProblemListCount
     * 描述: 根据题目列表获取评测统计
     *
     * @param pidList 题目ID列表
     * @return java.util.List<web.suzy.oj.pojo.vo.ProblemCountVO>
     * @date 2022/11/20 15:11
     * @auther YangSuzy
     **/
    List<ProblemCountVO> getProblemListCount(@Param("pidList") List<Long> pidList);

    /**
     * 方法名: getTodayJudgeNum
     * 描述: 获取今日测评数
     *
     * @return int
     * @date 2022/11/23 14:13
     * @auther YangSuzy
     **/
    int getTodayJudgeNum();

    /**
     * 方法名: getLastYearUserJudgeList
     * 描述: 获取最近一年的提交测评列表
     *
     * @param uid
     * @param username
     * @return java.util.List<web.suzy.oj.pojo.entity.judge.Judge>
     * @date 2022/11/23 14:14
     * @auther YangSuzy
     **/
    List<Judge> getLastYearUserJudgeList(@Param("uid") String uid, @Param("username") String username);
}
